package ar.edu.utn.frsf.ofa.javaee7.tp.ejemplo.ecompras.modelo;

import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @author Martin
 * @version 1.0
 */
@Entity
public class OrdenEntrega {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private int id;
    @Temporal(TemporalType.DATE)
    private Date fecha;
    @Column(name = "NRO_ORDEN")
    private int nroOrden;
    @ManyToOne
    @JoinColumn(name = "ID_PROVEEDOR")
    private Proveedor proveedor;
    @OneToMany(mappedBy = "orden")
    private List<DetalleOE> detalle;
    @Enumerated(EnumType.STRING)
    private Estado estado;

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the fecha
     */
    public Date getFecha() {
        return fecha;
    }

    /**
     * @param fecha the fecha to set
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    /**
     * @return the nroOrden
     */
    public int getNroOrden() {
        return nroOrden;
    }

    /**
     * @param nroOrden the nroOrden to set
     */
    public void setNroOrden(int nroOrden) {
        this.nroOrden = nroOrden;
    }

    /**
     * @return the proveedor
     */
    public Proveedor getProveedor() {
        return proveedor;
    }

    /**
     * @param proveedor the proveedor to set
     */
    public void setProveedor(Proveedor proveedor) {
        this.proveedor = proveedor;
    }

    /**
     * @return the detalle
     */
    public List<DetalleOE> getDetalle() {
        return detalle;
    }

    /**
     * @param detalle the detalle to set
     */
    public void setDetalle(List<DetalleOE> detalle) {
        this.detalle = detalle;
    }

    /**
     * @return the estado
     */
    public Estado getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(Estado estado) {
        this.estado = estado;
    }

}
